using Eno.Domain.Entity.App;

namespace Eno.Domain.Repositories;

public interface IPermissionRepository<T>
{
    Task<IEnumerable<T>> GetAppPermissionAsync();

    Task<T?> GetPermissionByIDAsync(Guid guid);

    Task<int> AdditionPermissionAsync(T entity);
    
    Task<int> DeletePermissionAsync(Guid guid);

    Task<int> UpdatePermissionAsync(T entity);

    Task<IEnumerable<AppRole>> GetRolesByPermissionIdAsync(Guid permissionId);
}